﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using TVL;
using TVLL5A;
using General;

namespace TVLDesktop
{
    public partial class principal : Form
    {
        public principal()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            NPC prueba = new NPC();
        }

        private void l5AEditionToolStripMenuItem_Click(object sender, EventArgs e)
        {
            System.Diagnostics.Process nuevo = new System.Diagnostics.Process();
            System.Diagnostics.ProcessStartInfo info = null;

            info = new System.Diagnostics.ProcessStartInfo(@"TVLNameGenerator (L5A Edition)\TVLNameGenerator (L5A Edition).exe");
            nuevo.StartInfo = info;

            nuevo.Start();

        }

        private void tVLConversorToolStripMenuItem_Click(object sender, EventArgs e)
        {
            System.Diagnostics.Process nuevo = new System.Diagnostics.Process();
            System.Diagnostics.ProcessStartInfo info = null;

            info = new System.Diagnostics.ProcessStartInfo(@"TVLConversor\conversor de unidades.exe");
            nuevo.StartInfo = info;

            nuevo.Start();

        }

        private void iniciativasToolStripMenuItem_Click(object sender, EventArgs e)
        {
            IniciativaL5A ini = new IniciativaL5A();
            ini.MdiParent = this;
            ini.Show();
        }

        private void genteToolStripMenuItem_Click(object sender, EventArgs e)
        {
            GestionDeGente gen = new GestionDeGente();
            gen.MdiParent = this;
            gen.Show();

        }

        private void personajeToolStripMenuItem_Click(object sender, EventArgs e)
        {
            
        }

        private void guardarToolStripMenuItem_Click(object sender, EventArgs e)
        {

        }

        private void testToolStripMenuItem_Click(object sender, EventArgs e)
        {
            bool previo = true;
            AventuraL5A av = new AventuraL5A();
            PersonajeL5A pers = new PersonajeL5A("Daisuke.xtvl");
            SituacionL5A sit = new SituacionL5A("situacion.xtvl");
            if (pers.Fallo == "No")
            {
                av.ListaPersonajes.Add(pers);
            }
            else
            {
                previo = false;
                MessageBox.Show("pers"+pers.Fallo);
            }

            if (sit.Fallo == "No")
            {
                av.ListaSituaciones.Add(sit);
            }
            else
            {
                previo = false;
                MessageBox.Show("sit"+sit.Fallo);
            }


            if (previo == true)
            {
                if (av.guardar("aventura.xtvl"))
                {
                    MessageBox.Show("Guarda aventuras!!!");
                }
                else
                {
                    MessageBox.Show(av.Fallo);
                }
            }
            else
            {
                MessageBox.Show("Falla el previo");
            }
            /*PersonajeL5A tipo = new PersonajeL5A();
            tipo.Experiencia = 400;
            tipo.Jugador = "AAAAAAAAAAAAAaaaaaa...";
            tipo.Nombre = "Daisuke Kawamori";
            List<HabilidadesL5A> hab = new List<HabilidadesL5A>();
            AtributosL5A atr = AtributosL5A.Agilidad;
            HabilidadesL5A h = new HabilidadesL5A ("Kenjutsu",2,"Pega con palo",atr);
            ArmaL5A katana = new ArmaL5A();
            katana.Tirada = "3g2";
            katana.Tipo = "katana";
            katana.Nombre = "Luz del alba";
            katana.Peso = "0.3 kg";
            katana.LPosiciones.Add(Posiciones.ManoIzq);
            katana.LPosiciones.Add(Posiciones.ManoDcha);
            katana.Tamanyo = "Normal";
            katana.Descripcion = "es una espada";
            katana.Cantidad = 1;
            tipo.Inventario.Añadir(katana);
            DineroL5A pasta = new DineroL5A();
            pasta.koku = 2;
            pasta.bu = 1;
            pasta.zeni = 3;
            tipo.Inventario.Dinero = pasta;
            Objeto saca = new Objeto();
            saca.Nombre = "Saca de arroz";
            saca.Descripcion = "Es una saca de arroz enorme";
            saca.Tamanyo = "Enorme";
            saca.Peso = "10kg";
            saca.Cantidad = 1;
            tipo.Inventario.Añadir(saca);
            hab.Add(h);
            tipo.Habilidades = hab;
            TecnicaHechizoL5A hech = new TecnicaHechizoL5A("bola de fuego", "Lanza una bola de fuego", 4, Anillo.Fuego);
            tipo.Hechizos.Add(hech);
            Ventajas vent = new Ventajas("vicio", -2, "esto es un vicio");
            tipo.VyDV.Add(vent);*/
            /*if (tipo.guardar("Daisuke.xtvl"))
            {
                MessageBox.Show("Se ha podido guardar el person");
            }
            else
            {
                MessageBox.Show(tipo.Fallo);
            }*/
           /* SituacionL5A nueva = new SituacionL5A();
            nueva.Nombre = "prueba";
            nueva.Descripcion = "this is a test";
            nueva.NPCS.Add(tipo);
            nueva.NPCS.Add(tipo);
            if (nueva.guardar("situacion.xtvl"))
            {
                MessageBox.Show("Se ha guardado la situacion");
            }
            else
            {
                MessageBox.Show(nueva.Fallo);
            }*/
        }

        private void loadTestToolStripMenuItem_Click(object sender, EventArgs e)
        {
            cargarl5a.ShowDialog();
            /*if (cargarl5a.FileName != "")
            {
                SituacionL5A sit = new SituacionL5A();
                if(sit.cargar(cargarl5a.FileName))
                {
                    MessageBox.Show(sit.NPCS[0].Fallo);
                    MessageBox.Show("Molas tio, nombre de la sit: "+sit.Nombre);
                    MessageBox.Show("Cantidade de NPCS: "+sit.NPCS.Count.ToString());
                    MessageBox.Show("Nombre del primero: " + sit.NPCS[0].Nombre);
                    
                        MessageBox.Show("Primer objeto: " + sit.NPCS[0].Inventario.Objetos[0].Nombre);
                    
                    ArmaL5A arma = (ArmaL5A) sit.NPCS[0].Inventario.Objetos[0];
                    MessageBox.Show("Tirada: " + arma.Tirada);
                        
                }
                else
                {
                    MessageBox.Show("Gafón");
                }*/
                //PersonajeL5A tipo2 = new PersonajeL5A();
            AventuraL5A av = new AventuraL5A();
                if (av.cargar(cargarl5a.FileName))
                {
                    av.guardar("aventuracargada.xtvl");
                    MessageBox.Show("Cargado y guardado");
                    /*MessageBox.Show("Eres mi nuevo dios, el nombre del samurai es " + tipo2.Nombre);
                    MessageBox.Show("La primera hab es: " + tipo2.Habilidades[0].Nombre);
                    MessageBox.Show("El primer objeto es: " + tipo2.Inventario.Objetos[0].Nombre);
                    MessageBox.Show("Y la pasta que tiene mas o menos: " + tipo2.Inventario.Dinero.toXTVL());
                    MessageBox.Show("El nombre del primer hechizo: "+tipo2.Hechizos[0].Nombre);
                    MessageBox.Show("La primera ventaja es: " + tipo2.VyDV[0].Nombre);*/
                }
                else
                {
                    MessageBox.Show("Gafón");
                }
            }

        private void enviarToolStripMenuItem_Click(object sender, EventArgs e)
        {
            FMail enviar = new FMail();
            enviar.Show();
        }
            
        }
    }
